package com.reservation.service;

import com.reservation.dto.auth.LoginDTO;
import com.reservation.dto.auth.RegisterDTO;
import com.reservation.vo.auth.LoginVO;
import com.reservation.vo.auth.UserInfoVO;
import org.springframework.web.multipart.MultipartFile;

/**
 * 用户服务接口
 */
public interface AuthService {

    /**
     * 用户注册
     * @param registerDTO 注册信息
     * @return 用户信息
     */
    void register(RegisterDTO registerDTO);

    /**
     * 用户登录
     * @param loginDTO 登录信息
     * @return 登录结果(token + 用户信息)
     */
    LoginVO login(LoginDTO loginDTO);

    /**
     * 通过用户ID获取用户信息
     * @param userId 用户ID
     * @return 用户信息
     */
    UserInfoVO getUserInfoById(Integer userId);    /**
     * 更换头像
     * @param file 上传的头像文件
     * @return 新头像的访问路径
     */
    String changeAvatar(MultipartFile file);
    
    /**
     * 用户注销
     * @param userId 用户ID
     */
    void logout(Integer userId);
}